#import "Text_Console.h"
#import <stdarg.h>

@implementation Text(Text_Console)
#define BUFFERSIZE 512

- (int) printf:(const char *) format, ...
{
  int result, length = [self textLength];
  char buffer[BUFFERSIZE];
  va_list	ap;
  
  va_start(ap, format);
  result = vsprintf(buffer, format, ap);
  va_end(ap);

  // this is how one puts text into a Text object and goes to that selection.

  // put the cursor in the very last location and push the buffer in
  [[self setSel:length :length] replaceSel:buffer];

  // scroll so that it is visible and redisplay
  [[self scrollSelToVisible] display];
  
  return result;
}
@end
